//-------
//时间方法
//----
jQuery.extend({
	//获取时间
	getDate:function(format,date){
	    if(date=="" || date == '0000-00-00 00:00:00') return "";
	    var date  = date ? new Date( String(date).replace(/-/g,'/') ) : new Date();
		var format= format || "yyyy-MM-dd HH:mm:ss";
		if( format == 'Y-m-d' )  format = 'yyyy-MM-dd';
		if( format == 'Y-m-d H:i:s' )  format = 'yyyy-MM-dd HH:mm:ss';
		if( format == 'Y-m-d H:i' )  format = 'yyyy-MM-dd HH:mm';
		if( format == 'Y-m-d H' )  format = 'yyyy-MM-dd HH';
		var o = {           
		    "M+" : date.getMonth()+1, //月份           
		    "d+" : date.getDate(), //日           
		    "h+" : date.getHours()%12 == 0 ? 12 : date.getHours()%12, //小时           
		    "H+" : date.getHours(), //小时           
		    "m+" : date.getMinutes(), //分           
		    "s+" : date.getSeconds(), //秒           
		    "q+" : Math.floor((date.getMonth()+3)/3), //季度           
		    "S" : date.getMilliseconds() //毫秒           
	    };           
	    var week = {           
		    "0" : "/u65e5",           
		    "1" : "/u4e00",           
		    "2" : "/u4e8c",           
		    "3" : "/u4e09",           
		    "4" : "/u56db",           
		    "5" : "/u4e94",           
		    "6" : "/u516d"          
	    };           
	    if(/(y+)/.test(format)){           
	        format=format.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));           
	    }
	    if(/(Y+)/.test(format)){           
            format=format.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));           
        }  
	    if(/(E+)/.test(format)){           
	        format=format.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[date.getDay()+""]);           
	    }           
	    for(var k in o){           
	        if(new RegExp("("+ k +")").test(format)){           
	            format = format.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));           
	        }           
	    }           
	    return format;     
	},
	//获取昨天时间
    getYesterDayDate:function(format){
        var today = new Date();
        var oneday = 1000 * 60 * 60 * 24;
        return $.getDate(format, new Date(today - oneday) );
    },
    //获取一周前时间
    getWeekDate:function(format){
        var today = new Date();
        var oneday = 1000 * 60 * 60 * 24;
        return $.getDate(format, new Date(today - oneday  * 7) );
    },
    //时间比较
    //$.compareTo(date1,"=",date2)
    compareTo:function  (date1,type,date2) {
        var date1=new Date(date1);
        var date2=new Date(date2);
        if(type==">="){ return date1 >= date2;}
        if(type==">"){ return date1 > date2;}
        if(type=="<="){ return date1 <= date2;}
        if(type=="<"){ return date1 < date2;}
        return date1 == date2;
    },
    //获取时间相差天数
    //$.differ(date1,date2)
    differ:function  (date1,date2) {
        if(date1 && date2){
            var date1=new Date(date1);
            var date2=new Date(date2);
            if(date2 > date1){
                return Math.ceil(((date1 - date2) / (1000 * 60 * 60 * 24)) - 1);
            }else{
                return Math.ceil((date1 - date2)/ (1000 * 60 * 60 * 24) +1);
            }
        }else{
            return 0;
        }
    },
    // 转为刚刚，一天前
	timestampFormat:function(timestamp ){
		var timestamp = String(timestamp).indexOf('-') == -1 ? timestamp/1000 : Date.parse(timestamp)/1000;
		function zeroize( num ) {
	        return (String(num).length == 1 ? '0' : '') + num;
	    }
	    var curTimestamp = parseInt(new Date().getTime() / 1000); //当前时间戳
	    var timestampDiff = curTimestamp - timestamp; // 参数时间戳与当前时间戳相差秒数
	    var curDate = new Date( curTimestamp * 1000 ); // 当前时间日期对象
	    var tmDate = new Date( timestamp * 1000 );  // 参数时间戳转换成的日期对象
	    var Y = tmDate.getFullYear(), m = tmDate.getMonth() + 1, d = tmDate.getDate();
	    var H = tmDate.getHours(), i = tmDate.getMinutes(), s = tmDate.getSeconds();
	    if ( timestampDiff < 60 ) { // 一分钟以内
	        return "刚刚";
	    } else if( timestampDiff < 3600 ) { // 一小时前之内
	        return Math.floor( timestampDiff / 60 ) + "分钟前";
	    } else if ( curDate.getFullYear() == Y && curDate.getMonth()+1 == m && curDate.getDate() == d ) {
	        return '今天' + zeroize(H) + ':' + zeroize(i);
	    } else {
	        var newDate = new Date( (curTimestamp - 86400) * 1000 ); // 参数中的时间戳加一天转换成的日期对象
	        if ( newDate.getFullYear() == Y && newDate.getMonth()+1 == m && newDate.getDate() == d ) {
	            return '昨天' + zeroize(H) + ':' + zeroize(i);
	        } else if ( curDate.getFullYear() == Y ) {
	            return  zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i);
	        } else {
	            return  Y + '年' + zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i);
	        }
	    }
	}
});

